// pages/mine/userInfo/index.js
import { CommonModel } from "../../../api/api-common/commonModel.js";
import { MineModel } from "../../../api/api-mine/mineModel.js";
const App = getApp();
const commonModel = new CommonModel();
const mineModel = new MineModel();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    nickName: "",
    roles: "",
    mobile: "",
    // avatar: "",
    gender: 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    // 获取个人信息
    await this.getUserInfos()
  },

  /**
  * 生命周期函数--监听页面显示
  */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  async onReady() {
    // commonModel.getAccessTokenApi().then(res => {
    //   console.log("getAccessTokenApi: ", res);
    // })

  },

  // 获取个人信息
  async getUserInfos() {
    // 获取机构id
    const orgId = wx.getStorageSync('LoginDeptAuth');
    commonModel.getInfoApi({ orgId: orgId }).then(info => {
      // 存储用户信息
      wx.setStorageSync('userInfo', info.user)

      let roleArr = [];
      info.user.roles.forEach(item => {
        roleArr.push(item.roleName)
      })

      this.setData({
        nickName: info.user.nickName,
        gender: info.user.gender,
        roles: roleArr.join("/"),
        mobile: info.user.mobile,
        // avatar: 'http://192.168.31.206:8080' + info.user.avatar,
      })
    })
  },

  // 修改昵称
  async gotoUpdateName() {
    wx.navigateTo({
      url: `/pages/mine/updateNickName/index?nickName=${this.data.nickName}`,
    })
  },

  // 退出账号
  logout() {
    wx.removeStorageSync('token');
    wx.removeStorageSync('username');
    wx.removeStorageSync('password');
    // 退出登录，默认机构改为-1  未登录状态
    wx.setStorageSync('LoginDeptAuth', -1)
    App.globalData.activeTab = "work";
    wx.switchTab({
      url: '/pages/tabbar/work/index',
    })
  },

  // 第一步：授权获取手机号
  getPhoneNumber(e) {
    console.log(e.detail.code)  // 动态令牌
    console.log(e.detail.errMsg) // 回调信息（成功失败都会返回）
    console.log(e.detail.errno)  // 错误码（失败时返回）

    // 第二步：获取手机号
    commonModel.getPhoneNumberApi({ code: e.detail.code }).then(response => {
      console.log("getPhoneNumberApi: ", response);
      if (response.errcode == 0) {
        // 成功
        // 第三步：wx.login()获取code
        wx.login({
          success: (res) => {
            // 第四步：通过code进行用户绑定
            commonModel.bindUserApi({ code: res.code, mobile: response.phone_info.phoneNumber }).then(resp => {
              console.log("resp: ", resp);
              // 第五步：正式登陆，获取token
            })
          },
        })
      }

    })
  },





  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})